package zhoug.zui.calendar;

import androidx.annotation.NonNull;

/**
 * 日历监听器
 *
 * @Author: zhoug
 * @Date: 2024-01-29
 * @Description:
 */
public interface OnCalendarListener {
    /**
     * 当日期的年月改变时监听
     *
     * @param year  当前日历展示的年
     * @param month 当前日历展示的月
     */
    void onCalendarChange(int year, int month);

    /**
     * 获取日历标题
     *
     * @param showDay 当前是否展示日历内容
     * @param year    当前年
     * @param month   当前月
     * @param select  选中的天
     * @return null 使用默认日期样式 yyyy年MM月
     */
    CharSequence getCalendarHeaderTitle(boolean showDay, int year, int month, CalendarDay select);

    /**
     * 选中
     *
     * @param day
     */
    void onSelectedChange(@NonNull CalendarDay day);

    /**
     * 取消选中
     *
     * @param day
     */
    void onCancelSelected(@NonNull CalendarDay day);

    /**
     * 日期单击事件
     *
     * @param day
     * @param position
     */
    void onDayItemClick(@NonNull CalendarDay day,int position);

    /**
     * 触摸位置的item
     *
     * @param day
     * @param position
     */
    void OnTouchDownPosition(CalendarDay day,int position);

    void OnTouchMovePosition(CalendarDay day,int position);

    void OnTouchUpPosition(CalendarDay day,int position);

}
